import jieba


class Data2Index(object):

    @staticmethod
    def str2index(sentences, w2i):
        # function: 将文字表示转成index表示。
        # sentences: 包含句子的batch，其中句子为list形式。
        # w2i: 将文字转为数字的dictionary。
        ids = [[w2i[w] for w in sentence] for sentence in sentences]
        return ids

    @staticmethod
    def str2list(str, is_cut=False):
        # function：将字符串形式转换为list形式
        # str： 输入字符串
        # is_cut: 是否需要分词，默认False
        if is_cut:
            str_list = [w for w in jieba.cut(str)]
        else:
            str_ = ' '.join(str)
            str_list = str_.split()
        return str_list



